/**
 * 满足条件drop 不满足return
 * @param arr
 * @param func
 * @returns {*}
 * 来测试数组的第一个元素，如果返回fasle，就从数组中抛出该元素(注意：此时数组已被改变)，继续测试数组的第一个元素，如果返回fasle，继续抛出，直到返回true。
 */

function drop(arr, func) {
// Drop them elements.
    var len =arr.length;
    for(var i = 0; i < len; i++){
        if(!func(arr[0])){
            arr.shift();
        }
    }
    return arr;
}

drop([1, 2, 3], function(n) {return n < 3; });
